#include<iostream>
using namespace std;
int v1[200],v2[100];
int n1,n2;
void sortare_vector(int *,int&);
void citire_vector();
void afisare_vector();
void reuniune();
bool este(int *a,int &size,int&k);
void swap(int&,int&);
int main()
{
    citire_vector();
    sortare_vector(v1,n1);
    sortare_vector(v2,n2);
    reuniune();
    afisare_vector();
    return 0;
}

void citire_vector()
{
    cout<<"cate elemente are v1??? "<<endl;
    cin>>n1;
    cout<<"introduceti elementele vectorului: "<<endl;
    for(int i=0;i<n1;++i)
         cin>>v1[i];

    cout<<"cate elemente are v2??? "<<endl;
    cin>>n2;
    cout<<"introduceti elementele vectorului: "<<endl;
    for(int i=0;i<n2;++i)
         cin>>v2[i];

}

void sortare_vector(int *a,int &n)
{
    // folosesc bubble sort

    for(int i=0;i<n-1;++i)
        for(int j=i+1;j<n;++j)
            if(a[i]>a[j])
                swap(a[i],a[j]);
}
void swap(int &a,int &b)
{
    int aux=a;
    a=b;
    b=aux;
}
void afisare_vector()
{
    for(int i=0;i<n1;++i)
        cout<<v1[i]<<" ";
}
bool este(int *a,int &size,int&k)
{
    for(int i=0;i<size;++i)
        if(a[i]==k)
            return true;
    return false;
}
void reuniune()
{
    for(int i=0;i<n2;++i)
        if( !este(v1,n1,v2[i]) )
        {
            v1[n1++]=v2[i];
        }
}
